from langchain.chains.retrieval_qa.base import RetrievalQA
from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings, OpenAI

# 1. 文本准备：假定我们已有文本列表 docs
# 2. 建立向量存储（使用 OpenAI Embedding 和 FAISS）
embeddings = OpenAIEmbeddings(openai_api_key="sk-VowKQBUMIkSND8WScNJtDLqf3FyqWHQ43LMVUXH1m6GZaopA")
vector_store = FAISS.from_texts("LangChain核心组件有很多", embedding=embeddings)

llm = OpenAI(
    api_key="sk-VowKQBUMIkSND8WScNJtDLqf3FyqWHQ43LMVUXH1m6GZaopA",
    base_url="https://ai.nengyongai.cn/v1"
)
# 3. 构建检索式问答链
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=vector_store.as_retriever()
)
# 4. 提问
result = qa_chain.run("请问上述文档集合中提到的LangChain核心组件有哪些？")
print(result)
